home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 1.iso / dist / fw_exmh.idb / usr / freeware / lib / exmh-2.5 / tioga.tcl.z / tioga.tcl
Text File  |  2002-07-08  |  2KB  |  68 lines

  1. # tioga.tcl
  2. # exmh support to view multipart/x-tioga messages
  3.  
  4. set tioga(converter) /project/pcedar10.1/bin/MimeToTioga
  5.  
  6. proc Tioga_ShowMsg { tkw part } {
  7.     global tioga mimeHdr uri
  8.  
  9.     for {set i 1} {$i <= $mimeHdr($part,numParts)} {incr i} {
  10.     switch -glob -- $mimeHdr($part=$i,hdr,content-type) {
  11.         *text/plain* {set t $i}
  12.         *text/x-html* {set h $i}
  13.     }
  14.     }
  15.     if ![info exists t] {
  16.     Exmh_Status "No plain text"
  17.     set t 1
  18.     return
  19.     }
  20.     # Show the text/plain part,
  21.     # and set up the menu to display to
  22.     # tioga or html versions
  23.     set mimeHdr($part=$t,color) $mimeHdr($part,color)
  24.     set mimeHdr($part=$t,display) 1
  25.     set mimeHdr($part=$t,hdr,content-description) "Press right button for menu"
  26.     MimeShowPart $tkw $part=$t [MimeLabel $part part] 0
  27.     MimeMenuDelete $part=$t "View using mailcap rule..."
  28.     MimeMenuDelete $part=$t "Pass a*to metamail..."
  29.  
  30.     MimeMenuAdd $part=$t command \
  31.     -label "View Tioga..." \
  32.     -command [list TiogaViewTioga $tkw $part]
  33.     if [info exists h] {
  34.     MimeMenuAdd $part=$t command \
  35.         -label "View HTML..." \
  36.         -command [list Mosaic_ShowPart $tkw $part=$h]
  37.     }
  38.  
  39.     MimeMenuAdd $part=$t checkbutton \
  40.     -label "Always View Tioga" \
  41.     -command [list TiogaSetDefault $tkw $part tioga(viewTioga)] \
  42.     -variable tioga(viewTioga)
  43.     MimeMenuAdd $part=$t checkbutton \
  44.     -label "Always View HTML" \
  45.     -command [list TiogaSetDefault $tkw $part uri(viewHtml)] \
  46.     -variable uri(viewHtml)
  47.  
  48.     if {$tioga(viewTioga)} {
  49.     TiogaViewTioga $tkw $part
  50.     }
  51.     if {$uri(viewHtml) && [info exists h]} {
  52.     Mosaic_ShowPart $tkw $part=$h
  53.     }
  54. }
  55. proc TiogaViewTioga {tkw part} {
  56.     global mimeHdr tioga
  57.     set out [Mime_TempFile tioga]
  58.     exec $tioga(converter) $mimeHdr(0,file) > $out
  59.     exec /import/Xmisc/bin/viewtioga $out &
  60.     after 60000 [list exec rm -f $out]
  61. }
  62. proc TiogaSetDefault {tkw part variable} {
  63.     upvar #0 $variable var
  64.     if {$var} {
  65.     busy MimeRedisplayPart $tkw $part
  66.     }
  67. }
  68.